package com.sun.showcase.biz.testcase.service;

import java.util.List;

import com.sun.showcase.client.testcase.domain.TaskCase;
import com.sun.showcase.client.testcase.query.TaskCaseQuery;
import com.sun.showcase.pojo.DataGrid;
import com.sun.showcase.utils.ExecuteResult;
public interface TaskCaseService{

	/**
	 * 获得数据表格
	 * 
	 * @param bug
	 * @return
	 */
	public DataGrid datagrid(TaskCaseQuery taskCaseQuery);

	/**
	 * 添加
	 * 
	 * @param taskCaseQuery
	 */
	public ExecuteResult<TaskCase> add(TaskCaseQuery taskCaseQuery);
	/**
	 * 添加
	 * 
	 * @param taskCaseQuery
	 */
	public ExecuteResult<TaskCase> addBatch(Long taskId,Long taskGroupId,Long[] caseIds);
	/**
	 * 修改
	 * 
	 * @param taskCaseQuery
	 */
	public ExecuteResult<TaskCase> update(TaskCaseQuery taskCaseQuery) ;
	
	/**
	 *  根据条件更新部分字段
	 * 
	 * @param taskCaseQuery
	 */
	public void updatePart(TaskCaseQuery taskCaseQuery) ;

	/**
	 * 物理删除
	 * 
	 * @param ids
	 */
	public void delete(java.lang.Long[] ids);
	
	/**
	 * 逻辑删除 更新状态位
	 * 
	 * @param ids
	 */
	public void deletePt(java.lang.Long[] ids);

	/**
	 * 获得
	 * 
	 * @param TaskCase
	 * @return
	 */
	public TaskCase get(TaskCaseQuery taskCaseQuery);
	
	
	/**
	 * 获得
	 * 
	 * @param obid
	 * @return
	 */
	public TaskCase get(Long id);
	
	/**
	 * 获取所有数据
	 */
	public List<TaskCaseQuery> listAll(TaskCaseQuery taskCaseQuery);

	/**
	 * 根据用例和任务id查询
	 */
	public TaskCase getByTaskAndCaseId(TaskCaseQuery taskCaseQuery);
	/**
	 * 批量更新状态
	 */
	public void updateStatusBatch(TaskCaseQuery taskCaseQuery);
	/**
	 * 查询数量
	 */
	public int getStatusCount(TaskCaseQuery taskCaseQuery);
	/**
	 * 更新分组
	 * @param taskCaseQuery
	 */
	public void updateGroupId(TaskCaseQuery taskCaseQuery);
}
